/* 
 * File:   LambertianShader.h
 * Author: brady
 *
 * Created on August 5, 2011, 11:09 PM
 */

#ifndef LAMBERTIANSHADER_H
#define	LAMBERTIANSHADER_H
#include <dto/IntersectionResult.h>
#include <dto/RenderParams.h>
#include <shaders/Shader.h>
#include <iostream>
using namespace std;

class LambertianShader : public Shader {
public:
    LambertianShader();
    LambertianShader(const LambertianShader& orig);
    virtual ~LambertianShader();
    Vector3D shade(IntersectionResult& result) const ;
protected:
    double getLambertianCoeffecient(const Vector3D& normal, const Vector3D& toLight) const ;
    Vector3D computeLighting(IntersectionResult& result) const;
private:

};

#endif	/* LAMBERTIANSHADER_H */

